package com.sromku.simple.fb.actions; import com.facebook.FacebookRequestError; import com.facebook.HttpMethod; import com.facebook.Request; import com.facebook.Response; import com.facebook.Session; import com.sromku.simple.fb.SessionManager; import com.sromku.simple.fb.listeners.OnDeleteListener; import com.sromku.simple.fb.utils.Errors; import com.sromku.simple.fb.utils.Errors.ErrorMsg; import com.sromku.simple.fb.utils.Logger; public class DeleteRequestAction extends AbstractAction { private OnDeleteListener mOnDeleteListener; private String mRequestId; public DeleteRequestAction(SessionManager sessionManager) { super(sessionManager); } public void setRequestId(String requestId) { mRequestId = requestId; } public void setOnDeleteListener(OnDeleteListener onDeleteRequestListener) { mOnDeleteListener = onDeleteRequestListener; } @Override protected void executeImpl() { if (sessionManager.isLogin(true)) { Session session = sessionManager.getActiveSession(); Request request = new Request(session, mRequestId, null, HttpMethod.DELETE, new Request.Callback() { @Override public void onCompleted(Response response) { FacebookRequestError error = response.getError(); if (error != null) { Logger.logError(DeleteRequestAction.class, "failed to delete requests", error.getException()); if (mOnDeleteListener != null) { mOnDeleteListener.onException(error.getException()); } } else { if (mOnDeleteListener != null) { mOnDeleteListener.onComplete(null); } } } }); Request.executeBatchAsync(request); } else { String reason = Errors.getError(ErrorMsg.LOGIN); Logger.logError(DeleteRequestAction.class, reason, null); if (mOnDeleteListener != null) { mOnDeleteListener.onFail(reason); } } } }